package sv.mecca.modelo;

import java.sql.SQLException;
import java.util.ArrayList;

import sv.gob.hnr.modelo.Conexion;
import sv.mecca.form.TratamientosForm;

public class OperacionesTratamientos extends Conexion{

    public void insertarTratamientos(TratamientosForm t) throws SQLException{
        try {
            st = getConexion().createStatement();
            st.execute("insert into tratamientos(expediente_paciente, medicamento, fecha_inicio, fecha_fin, dosis, efectos) values(" +
                "'" + t.getExpediente() + "', " +
                "'" + t.getMedicamento()+ "', " +
                "'" + t.getFecha_inicio()+ "', " +
                "'" + t.getFecha_fin()+ "', " +
                "'" + t.getDosis()+ "', " +
                "'" + t.getEfectos()+ "')");
        } catch (Exception e) {
            System.out.println(e.getMessage());
            }
        finally{
            st.close();
            cn.close();
            }
        t.destroy();
        }
    public TratamientosForm modificarTratamientos(Integer id) throws SQLException{
        TratamientosForm t= new TratamientosForm();
        try {
            st = getConexion().createStatement();
            rs = st.executeQuery("select * from tratamientos where id = " + id);
            rs.next();
            t.setId(rs.getInt(1));
            t.setExpediente(rs.getString(2));
            t.setMedicamento(rs.getString(3));
            t.setFecha_inicio(rs.getString(4));
            t.setFecha_fin(rs.getString(5));
            t.setDosis(rs.getString(6));
            t.setEfectos(rs.getString(7));
        } catch (Exception e) {
            System.out.println(e.getMessage());
            }
        finally{
            rs.close();
            st.close();
            cn.close();
            return t;
            }
        }
    public void actualizarTratamientos(TratamientosForm l, Integer id) throws SQLException{
        try {
            st = getConexion().createStatement();
            st.executeUpdate("update tratamientos set " +
                "expediente_paciente = '" + l.getExpediente() + "', " +
                "medicamento = '" + l.getMedicamento()+ "', " +
                "fecha_inicio = '" + l.getFecha_inicio()+ "', " +
                "fecha_fin = '" + l.getFecha_fin()+ "', " +
                "dosis = '" + l.getDosis()+ "', " +
                "efectos = '" + l.getEfectos()+ "' " +
                "where id = " + id);
        } catch (Exception e) {
            System.out.println(e.getMessage());
            }
        finally{
            st.close();
            cn.close();
            }
        l.destroy();
        }
    public void EliminarTratamientos(Integer id) throws SQLException{
        try {
            st = getConexion().createStatement();
            st.execute("delete from tratamientos where id = " + id);
        } catch (Exception e) {
            System.out.println(e.getMessage());
            }
        finally{
            st.close();
            cn.close();
            }
        }
    public ArrayList<TratamientosForm> listado() throws SQLException{
        ArrayList<TratamientosForm> tratamiento = null;
        try {
            st = getConexion().createStatement();
            rs = st.executeQuery("select * from tratamientos");
            tratamiento = new ArrayList<TratamientosForm>();
            while (rs.next()) {
                TratamientosForm t = new TratamientosForm(rs.getInt(1), rs.getString(2), rs.getString(3), rs.getString(4), rs.getString(5), rs.getString(6), rs.getString(7));
                tratamiento.add(t);
                }
            rs.close();
        } catch (Exception e) {
            System.out.println(e.getMessage());
            }
        finally{
            st.close();
            cn.close();
            return tratamiento;
            }
        }
    }